﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Elysium.Demo;
using SIIE_ERP.Codigo;
using SIIE_ERP.BaseDatos;

namespace Elysium.Demo.Informes
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class GenericReport : UserControl
    {
        private UsuarioActivo _sesion;
        private string _RutaReporte;

        private Documentos_Id _Tipo_Documento;
        private int _Id_Almacen;
        private int _Id_Campana;
        private int _Id_Cliente;
        private int _Id_Colaborador;
        private int _Estatus;
        private int _Tiempo;
        private int _Id_Numerico1;
        private int _Id_Numerico2;
        private int _Id_Numerico3;
        private int _Id_Numerico4;
        private int _Id_Numerico5;
        private int _Id_Numerico6;

        public GenericReport(ref UsuarioActivo usuario, string RutaReporte, bool IsReportEmbedded = false)
        {
            InitializeComponent();
            this._sesion = usuario;
            this._RutaReporte = RutaReporte;

            _reportViewer.Load += ReportViewer_Load;
            
            if (IsReportEmbedded)
                ButtonRegresar.Visibility = System.Windows.Visibility.Hidden;  
        }

        public GenericReport(ref UsuarioActivo usuario, string RutaReporte, int Id_Numerico1, int Id_Numerico2, int Id_Numerico3, int Id_Numerico4, int Id_Numerico5, int Id_Numerico6, bool IsReportEmbedded = false)
        {
            InitializeComponent();
            this._sesion = usuario;
            this._RutaReporte = RutaReporte;

            this._Id_Numerico1 = Id_Numerico1;
            this._Id_Numerico2 = Id_Numerico2;
            this._Id_Numerico3 = Id_Numerico3;
            this._Id_Numerico4 = Id_Numerico4;
            this._Id_Numerico5 = Id_Numerico5;
            this._Id_Numerico6 = Id_Numerico6;

            _reportViewer.Load += ReportViewer_Load;

            if (IsReportEmbedded)
                ButtonRegresar.Visibility = System.Windows.Visibility.Hidden;  
        }

        public GenericReport(ref UsuarioActivo usuario, string RutaReporte, int Id_Numerico1, int Id_Numerico2, int Id_Numerico3, int Id_Numerico4, int Id_Numerico5, bool IsReportEmbedded = false)
        {
            InitializeComponent();
            this._sesion = usuario;
            this._RutaReporte = RutaReporte;

            this._Id_Numerico1 = Id_Numerico1;
            this._Id_Numerico2 = Id_Numerico2;
            this._Id_Numerico3 = Id_Numerico3;
            this._Id_Numerico4 = Id_Numerico4;
            this._Id_Numerico5 = Id_Numerico5;

            _reportViewer.Load += ReportViewer_Load;

            if (IsReportEmbedded)
                ButtonRegresar.Visibility = System.Windows.Visibility.Hidden;  
        }

        public GenericReport(ref UsuarioActivo usuario, string RutaReporte, int Id_Numerico1, int Id_Numerico2, int Id_Numerico3, int Id_Numerico4, bool IsReportEmbedded = false)
        {
            InitializeComponent();
            this._sesion = usuario;
            this._RutaReporte = RutaReporte;

            this._Id_Numerico1 = Id_Numerico1;
            this._Id_Numerico2 = Id_Numerico2;
            this._Id_Numerico3 = Id_Numerico3;
            this._Id_Numerico4 = Id_Numerico4;

            _reportViewer.Load += ReportViewer_Load;

            if (IsReportEmbedded)
                ButtonRegresar.Visibility = System.Windows.Visibility.Hidden;  
        }

        public GenericReport(ref UsuarioActivo usuario, string RutaReporte, int Id_Numerico1, int Id_Numerico2, bool IsReportEmbedded = false)
        {
            InitializeComponent();
            this._sesion = usuario;
            this._RutaReporte = RutaReporte;

            this._Id_Numerico1 = Id_Numerico1;
            this._Id_Numerico2 = Id_Numerico2;

            _reportViewer.Load += ReportViewer_Load;

            if (IsReportEmbedded)
                ButtonRegresar.Visibility = System.Windows.Visibility.Hidden;            
        }


        public GenericReport(ref UsuarioActivo usuario, string RutaReporte, int Id_Numerico1, int Id_Numerico2, int Id_Numerico3, bool IsReportEmbedded = false)
        {
            InitializeComponent();
            this._sesion = usuario;
            this._RutaReporte = RutaReporte;

            this._Id_Numerico1 = Id_Numerico1;
            this._Id_Numerico2 = Id_Numerico2;
            this._Id_Numerico3 = Id_Numerico3;

            _reportViewer.Load += ReportViewer_Load;

            if (IsReportEmbedded)
                ButtonRegresar.Visibility = System.Windows.Visibility.Hidden;  
        }

        public GenericReport(ref UsuarioActivo usuario, string RutaReporte, Documentos_Id Tipo_Documento, int Id_Almacen, int Id_Campana, int Id_Cliente, int Id_Colaborador, int Estatus, int Tiempo, bool IsReportEmbedded = false)
        {
            InitializeComponent();
            this._sesion = usuario;
            this._RutaReporte = RutaReporte;

            this._Tipo_Documento = Tipo_Documento;
            this._Id_Almacen = Id_Almacen;
            this._Id_Campana = Id_Campana;
            this._Id_Cliente = Id_Cliente;
            this._Id_Colaborador = Id_Colaborador;
            this._Estatus = Estatus;
            this._Tiempo = Tiempo;
            
            _reportViewer.Load += ReportViewer_Load;

            if (IsReportEmbedded)
                ButtonRegresar.Visibility = System.Windows.Visibility.Hidden;  
        }

        public GenericReport(ref UsuarioActivo usuario, string RutaReporte, int Id_Numerico1, bool IsReportEmbedded = false)
        {
            InitializeComponent();
            this._sesion = usuario;
            this._RutaReporte = RutaReporte;

            this._Id_Numerico1 = Id_Numerico1;
            
            _reportViewer.Load += ReportViewer_Load;

            if (IsReportEmbedded)
                ButtonRegresar.Visibility = System.Windows.Visibility.Hidden;  
        }

        private bool _isReportViewerLoaded;

        private void ReportViewer_Load(object sender, EventArgs e)
        {
            if (!_isReportViewerLoaded)
            {
                SIIE_ERP.BaseDatos.Ventas.Catalogos.dbo_Cat_Grupo_Clientes Cat_Grupo_Clientes = new SIIE_ERP.BaseDatos.Ventas.Catalogos.dbo_Cat_Grupo_Clientes(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Compras.Catalogos.dbo_Cat_Grupo_Proveedores Cat_Grupo_Proveedores = new SIIE_ERP.BaseDatos.Compras.Catalogos.dbo_Cat_Grupo_Proveedores(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Configuracion.Empresa.dbo_Cat_Empresa Cat_Empresa = new SIIE_ERP.BaseDatos.Configuracion.Empresa.dbo_Cat_Empresa(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Bancos.Catalogos.dbo_Cat_Cuenta_Bancaria Cat_Cuenta_Bancaria = new SIIE_ERP.BaseDatos.Bancos.Catalogos.dbo_Cat_Cuenta_Bancaria(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Bancos.Catalogos.dbo_Cat_BancoTC Cat_BancoTC = new SIIE_ERP.BaseDatos.Bancos.Catalogos.dbo_Cat_BancoTC(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Bancos.Catalogos.dbo_Cat_Forma_Pago Cat_Forma_Pago = new SIIE_ERP.BaseDatos.Bancos.Catalogos.dbo_Cat_Forma_Pago(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Bancos.Catalogos.dbo_Cat_TipoMov_Banco Cat_TipoMov_Banco = new SIIE_ERP.BaseDatos.Bancos.Catalogos.dbo_Cat_TipoMov_Banco(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.PuntoVenta.Catalogos.dbo_Cat_Terminal Cat_Terminal = new SIIE_ERP.BaseDatos.PuntoVenta.Catalogos.dbo_Cat_Terminal(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_Almacen Cat_Almacen = new SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_Almacen(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_UM Cat_UM = new SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_UM(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_Grupo_Productos Cat_Grupo_Productos = new SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_Grupo_Productos(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_SubGrupo_Productos Cat_SubGrupo_Productos = new SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_SubGrupo_Productos(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_Linea Cat_Linea = new SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_Linea(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_TipoMov_Inv Cat_TipoMov_Inv = new SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_TipoMov_Inv(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.CRM.Catalogos.dbo_Cat_Campana Cat_Campana = new SIIE_ERP.BaseDatos.CRM.Catalogos.dbo_Cat_Campana(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.CRM.Catalogos.dbo_Cat_Competidor Cat_Competidor = new SIIE_ERP.BaseDatos.CRM.Catalogos.dbo_Cat_Competidor(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.CRM.Catalogos.dbo_Cat_Tipo_Actividad Cat_Tipo_Actividad = new SIIE_ERP.BaseDatos.CRM.Catalogos.dbo_Cat_Tipo_Actividad(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Ventas.Transacciones.Documento_Ventas Documento_Ventas = new SIIE_ERP.BaseDatos.Ventas.Transacciones.Documento_Ventas(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Compras.Transacciones.Documento_Compras Documento_Compras = new SIIE_ERP.BaseDatos.Compras.Transacciones.Documento_Compras(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Ventas.Catalogos.dbo_Cat_Cliente Cat_Cliente = new SIIE_ERP.BaseDatos.Ventas.Catalogos.dbo_Cat_Cliente(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Compras.Catalogos.dbo_Cat_Proveedor Cat_Proveedor = new SIIE_ERP.BaseDatos.Compras.Catalogos.dbo_Cat_Proveedor(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.CRM.Transacciones.dbo_Trans_Actividad Trans_Actividad = new SIIE_ERP.BaseDatos.CRM.Transacciones.dbo_Trans_Actividad(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Bancos.Transacciones.dbo_Transferencias_Bancos Transferencias_Bancos = new SIIE_ERP.BaseDatos.Bancos.Transacciones.dbo_Transferencias_Bancos(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Inventarios.Transacciones.Trans_Traspasos Traspasos = new SIIE_ERP.BaseDatos.Inventarios.Transacciones.Trans_Traspasos(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Inventarios.Transacciones.Trans_MovInv MovInv = new SIIE_ERP.BaseDatos.Inventarios.Transacciones.Trans_MovInv(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Bancos.Transacciones.dbo_Movimiento_Banco Movimiento_Banco = new SIIE_ERP.BaseDatos.Bancos.Transacciones.dbo_Movimiento_Banco(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_Articulo Cat_Articulo = new SIIE_ERP.BaseDatos.Inventarios.Catalogos.dbo_Cat_Articulo(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.PuntoVenta.Transacciones.dbo_Tickets Tickets = new SIIE_ERP.BaseDatos.PuntoVenta.Transacciones.dbo_Tickets(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.CRM.Transacciones.dbo_Trans_Oportunidad Trans_Oportunidad = new SIIE_ERP.BaseDatos.CRM.Transacciones.dbo_Trans_Oportunidad(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Bancos.Transacciones.dbo_Pago_Clientes Pago_Clientes = new SIIE_ERP.BaseDatos.Bancos.Transacciones.dbo_Pago_Clientes(_sesion.RFC, _sesion.UserName);
                SIIE_ERP.BaseDatos.Bancos.dbo_Pago_Proveedor Pago_Proveedor = new SIIE_ERP.BaseDatos.Bancos.dbo_Pago_Proveedor(_sesion.RFC, _sesion.UserName);

                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource1 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource2 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource3 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource4 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource5 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource6 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource7 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource8 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource9 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource10 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource11 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource12 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource13 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource14 = new Microsoft.Reporting.WinForms.ReportDataSource();
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource15 = new Microsoft.Reporting.WinForms.ReportDataSource();
                
                if(this._RutaReporte.Equals("Informes/Reportes/Operativos/Ventas/Grupos_Cliente.rdlc"))
                {                    
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Grupo_Clientes.Get_Grupo_Clientes();
                                     
                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();
                                
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Compras/Grupos_Proveedores.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Grupo_Proveedores.Get_Grupo_Proveedoreses();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Bancos/Cuentas_Bancarias.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Cuenta_Bancaria.Get_Report();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Bancos/Tarjetas_Credito.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_BancoTC.Get_Report(); 

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Bancos/Formas_Pago.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Forma_Pago.Get_Forma_Pagoes();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);                    
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Bancos/Tipos_Mov_Banco.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_TipoMov_Banco.Get_Report();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);      
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Punto_Venta/Terminales.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Terminal.Get_Terminales();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);   
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/Almacenes.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Almacen.Get_Almacenes();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);  
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/UM.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_UM.Get_UMes();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2); 
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/Grupos_Producto.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Grupo_Productos.Get_Grupo_Productoses();  

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2); 
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/SubGrupos_Producto.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_SubGrupo_Productos.Get_Subgrupo_Productoses();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2); 
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/Lineas_Producto.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Linea.Get_Lineaes();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2); 
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/Tipos_Mov_Inventario.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_TipoMov_Inv.Get_TipoMov_Invs();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2); 
                }                
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/CRM/Campana.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Campana.Get_Campanas();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2); 
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/CRM/Tipo_Actividad.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Tipo_Actividad.Get_Tipo_Actividades();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2); 
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/CRM/Competidor.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Competidor.Get_Competidors();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2); 
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Ventas/Cotizaciones.rdlc"))      
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Documento_Ventas.Get_Report(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Ventas/Pedidos.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Documento_Ventas.Get_Report(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Ventas/Remisiones.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Documento_Ventas.Get_Report(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Ventas/Facturas_Clientes.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Documento_Ventas.Get_Report(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Ventas/Devoluciones.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Documento_Ventas.Get_Report(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Compras/Cotizaciones_Compras.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Documento_Compras.Get_Report(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Compras/OrdenesCompra_Compras.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Documento_Compras.Get_Report(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Compras/Recepciones_Compras.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Documento_Compras.Get_Report(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Compras/Facturas_Proveedores_Compras.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Documento_Compras.Get_Report(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Compras/Devoluciones_Compras.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Documento_Compras.Get_Report(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Ventas/Clientes.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Cliente.Get_Report(this._Id_Numerico1, true);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/CRM/Prospectos.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Cliente.Get_Report(this._Id_Numerico1, false);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Compras/Proveedor_Compras.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Proveedor.Get_Report(this._Id_Numerico1);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/CRM/Actividades.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Trans_Actividad.Get_Report(this._Id_Numerico1, this._Id_Numerico2, this._Id_Numerico3, this._Id_Numerico4, this._Id_Numerico5, this._Id_Numerico6);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Bancos/Transferencia_Cuentas.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Transferencias_Bancos.Get_Report(this._Id_Numerico1, this._Id_Numerico2, this._Id_Numerico3);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/TraspasoAlmacen.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Traspasos.Get_Report(this._Id_Numerico1, this._Id_Numerico2, this._Id_Numerico3, this._Id_Numerico4);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/MovsInventario.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = MovInv.Get_Report(this._Id_Numerico1, this._Id_Numerico2, this._Id_Numerico3, this._Id_Numerico4);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Bancos/Movimientos_Bancarios.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Movimiento_Banco.Get_Report(this._Id_Numerico1, this._Id_Numerico2, this._Id_Numerico3);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/Articulos.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Articulo.Get_Report(this._Id_Numerico1, this._Id_Numerico2, this._Id_Numerico3);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/Articulos.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Cat_Articulo.Get_Report(this._Id_Numerico1, this._Id_Numerico2, this._Id_Numerico3);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Ventas/Notas_Credito.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = Documento_Ventas.Get_Report_NC(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Compras/Notas_Credito_Compras.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file                    
                    reportDataSource1.Value = Documento_Compras.Get_Report_NC(this._Tipo_Documento, this._Id_Almacen, this._Id_Campana, this._Id_Cliente, this._Id_Colaborador, this._Estatus, this._Tiempo);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Punto_Venta/Tickets.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file                    
                    reportDataSource1.Value = Tickets.Get_Report(this._Id_Numerico1, this._Id_Numerico2);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/CRM/Oportunidades.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file                    
                    reportDataSource1.Value = Trans_Oportunidad.Get_Report(this._Id_Numerico1, this._Id_Numerico2,  this._Id_Numerico3,  this._Id_Numerico4,  this._Id_Numerico5);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Punto_Venta/Tickets_TA.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file                    
                    reportDataSource1.Value = Tickets.Get_Report_TA(this._Id_Numerico1, this._Id_Numerico2);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Ventas/Reimpresion.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file                    
                    reportDataSource1.Value = Tickets.Get_Report_Impresiones(this._Id_Numerico1);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/Kits.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file                    
                    reportDataSource1.Value = Cat_Articulo.Get_Report_Kit(this._Id_Numerico1, this._Id_Numerico2, this._Id_Numerico3);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Ventas/AntiguedadSaldoCXC.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file                    
                    reportDataSource1.Value = Documento_Ventas.Get_Report_Saldos();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Compras/AntiguedadSaldoCXC_Compras.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file                    
                    reportDataSource1.Value = Documento_Compras.Get_Report_Saldos();

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Bancos/Pagos_Cliente.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file                    
                    reportDataSource1.Value = Pago_Clientes.Get_Report(this._Id_Numerico1, this._Id_Numerico2, this._Id_Numerico3, this._Id_Numerico4, this._Id_Numerico5);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Bancos/Pagos_Proveedor.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file                    
                    reportDataSource1.Value = Pago_Proveedor.Get_Report(this._Id_Numerico1, this._Id_Numerico2, this._Id_Numerico3, this._Id_Numerico4, this._Id_Numerico5);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/NuevoReporteExistencias.rdlc"))
                {
                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file                    
                    reportDataSource1.Value = Cat_Articulo.Get_Articulos_NuevoReporteExistencias(this._Id_Numerico1, this._Id_Numerico2, this._Id_Numerico3, this._Id_Numerico4, this._Id_Numerico5, this._Id_Numerico6);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                else if (this._RutaReporte.Equals("Informes/Reportes/Operativos/Inventarios/MovsInventario2.rdlc"))
                {
                    this._RutaReporte = "Informes/Reportes/Operativos/Inventarios/MovsInventario.rdlc";

                    reportDataSource1.Name = "Datos"; //Name of the report dataset in our .RDLC file
                    reportDataSource1.Value = MovInv.Get_Report(this._Id_Numerico1, this._Id_Numerico2);

                    reportDataSource2.Name = "Empresa"; //Name of the report dataset in our .RDLC file
                    reportDataSource2.Value = Cat_Empresa.Get_Report();

                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                    this._reportViewer.LocalReport.DataSources.Add(reportDataSource2);
                }
                
                
        
        



                



















                    this._reportViewer.LocalReport.ReportPath = _RutaReporte;                               
                _reportViewer.RefreshReport();
                _isReportViewerLoaded = true;
            }
        }

        private void ButtonRegresar_Click(object sender, RoutedEventArgs e)
        {
            Viewbox Aux = (Viewbox)this.Parent;
            Aux.Child = null;
            Aux.Child = new Menu_Informes(ref _sesion);           
        }        
    }
}
